package com.hushan.annotion;

import java.lang.annotation.*;

/**
 * Created by hushan on 2017/6/20.
 * @Retention定义了该Annotation被保留的时间长短：某些Annotation仅出现在源代码中，而被编译器丢弃；
 * 而另一些却被编译在class文件中；编译在class文件中的Annotation可能会被虚拟机忽略，而另一些在class被装载时将被读取（
 * 请注意并不影响class的执行，因为Annotation与class在使用上是被分离的）。使用这个meta-Annotation可以对 Annotation的“生命周期”限制
 */
@Target({ElementType.METHOD, ElementType.PARAMETER})  //表示该注解用于描述方法和参数
@Retention(RetentionPolicy.RUNTIME)  // 表示运行时保留
@Documented  // 描述其它类型的annotation应该被作为被标注的程序成员的公共API 就是一个标记注解
public @interface LogMethod {
    String name() default "";         // 方法名
    byte version() default 1;
    String description() default "";  // 描述
    String opertype() default "0";    // 操作类型
}
